package sohsite.pelada.peladeiroJogo;

import java.util.Collection;

import sohsite.excecao.EntradaInexistenteException;
import sohsite.excecao.ParametroInvalidoException;
import sohsite.pelada.peladeiro.Peladeiro;
import sohsite.util.generico.CadastroGenerico;



public class CadastroPeladeiroJogo extends CadastroGenerico<PeladeiroJogo>{
	
	private IRepositorioPeladeiroJogo repositorioPeladeiroJogo;
	
	public CadastroPeladeiroJogo(IRepositorioPeladeiroJogo repositorioPeladeiroJogo){
		super(repositorioPeladeiroJogo);
		this.repositorioPeladeiroJogo = repositorioPeladeiroJogo;
	}	
	
	public PeladeiroJogo consultar(Integer idPeladeiro, Integer idJogo) throws EntradaInexistenteException, ParametroInvalidoException{
		if(idPeladeiro==null || idJogo==null){
			throw new ParametroInvalidoException();
		}else{
			return this.repositorioPeladeiroJogo.consultar(idPeladeiro, idJogo);
		}		
	}
	
	public void deletar(Integer idPeladeiro, Integer idJogo) throws ParametroInvalidoException, EntradaInexistenteException{
		if(idPeladeiro==null || idJogo==null)
			throw new ParametroInvalidoException();
		
		this.repositorioPeladeiroJogo.deletar(idPeladeiro,idJogo);
		
	}
	
	public Collection<PeladeiroJogo> consultarPeladeiroJogosPorPeladeiro(Peladeiro peladeiro) throws ParametroInvalidoException{
		Collection<PeladeiroJogo> peladeirosJogo = null;
		
		if(peladeiro != null){
			peladeirosJogo = this.repositorioPeladeiroJogo.consultarPeladeirosJogoPorPeladeiro(peladeiro);
		} else{
			throw new ParametroInvalidoException();
		}
		
		return peladeirosJogo;
	}	
	
}
